Conversation
* json 파일 찾아서 로드 하게 구현
| import DiContainer | ||
|
|
||
|
|
||
| @Observable |
There was a problem hiding this comment.
@Peter1119 해당 레포는 obserable를 써서 할려고 했습니다
| import Model | ||
| import Combine | ||
|
|
||
| public final class DefaultSummaryPersistenceRepository: SummaryPersistenceRepositoryInterface { |
There was a problem hiding this comment.
이 코드는
SummaryPersistenceRepositoryImpl
이것과 관련이 있는 코드 인가요 ?
| title = try codingKey.decode(String.self, forKey: .title) | ||
| author = try codingKey.decode(String.self, forKey: .author) | ||
| pages = try codingKey.decode(Int.self, forKey: .pages) | ||
| dedication = try codingKey.decode(String.self, forKey: .dedication) | ||
| summary = try codingKey.decode(String.self, forKey: .summary) | ||
| wiki = try codingKey.decode(String.self, forKey: .wiki) | ||
| chapters = try codingKey.decode([ChapterDTO].self, forKey: .chapters) | ||
| image = try codingKey.decode(String.self, forKey: .image) |
| let project = Project.makeAppModule( | ||
| name: "Model", | ||
| bundleId: .appBundleID(name: ".Model"), | ||
| product: .staticFramework, | ||
| settings: .settings(), | ||
| dependencies: [ | ||
| .Shared(implements: .Utill) | ||
| ], | ||
| sources: ["Sources/**"] | ||
| ) |
There was a problem hiding this comment.
@Peter1119 클린 아키텍쳐 적으로 생각 했을때 data에 model 이랑 repository가 있어야 한다고 생각 이들고 model 모델만 선언해서 모델만 관리 할수 있도록 하고 싶어서 그렇게 구현 했습니다
| public struct BookDisplayData: Equatable { | ||
| public let book: Book | ||
| public let seriesNumber: Int | ||
| public let totalSeries: Int | ||
| public let isSummaryExpanded: Bool | ||
|
|
||
| public init( | ||
| book: Book, | ||
| seriesNumber: Int, | ||
| totalSeries: Int, | ||
| isSummaryExpanded: Bool | ||
| ) { | ||
| self.book = book | ||
| self.seriesNumber = seriesNumber | ||
| self.totalSeries = totalSeries | ||
| self.isSummaryExpanded = isSummaryExpanded | ||
| } | ||
| } |
There was a problem hiding this comment.
DisplayData는 아마 UI쪽 같은데 Error 폴더에 구분된 이유가 있으실까요 ?
There was a problem hiding this comment.
아아 폴더링이 잘못 된거 같네요
| case API | ||
| case Network | ||
| case Foundations | ||
| case Model | ||
| case Service | ||
| case DiContainer | ||
| case UseCase | ||
| case ThirdPartys |
There was a problem hiding this comment.
Network 내부에 Foudnations, Model, Service, DIContainer, UseCase, ThirdPartys가 들어가 있는거죠 ?
Networks의 정의가 궁금하고 왜 이렇게 묶였는지 궁금합니다 ~!
There was a problem hiding this comment.
아 예전 구조 고 지금은 다 나누어 졌습니다
| case UseCase | ||
| case DomainInterface |
| case Interface | ||
|
|
||
|
|
||
| public static let name: String = "Interface" |
| enum Shareds: String, CaseIterable { | ||
| case Shared | ||
| case DesignSystem | ||
| case Utill |
There was a problem hiding this comment.
Util, Shared와 Foudations는 어떤 차이인가요 ?
There was a problem hiding this comment.
Utill 말그대로 Utill 관련 이고 shared 를 DesignSystem 이랑 Utill 을 한번에 가져올수 있는 애 입니다
| public var name: String { | ||
| switch self { | ||
| case .dev: "Dev" | ||
| case .stage: "Stage" | ||
| case .prod: "Prod" | ||
| } | ||
| } |
There was a problem hiding this comment.
모든 모듈마다 Dev, Stage, Prod 이렇게 구분되어 있던데
실용성 측면에서 의문이 듭니다 !
There was a problem hiding this comment.
@Peter1119 이건 main app 모듈 에서 분기 되어서 사용 됩니다
🔗 관련 이슈
✨ 작업 내용
Close Issues 🔒 (닫을 Issue)
Close #1 #2